////https://www.luogu.com.cn/problem/P1678
//
//#include<iostream>
//#include<algorithm>
//#include<cmath>
//typedef long long ll;
//using namespace std;
//
//const int N = 1e6 + 10;
//int score[N];
//int stu[N];
//
//int* my_lower_bound(int* begin, int* end, int target)
//{
//	while (begin < end)
//	{
//		int* mid = begin + (end - begin) / 2;
//		if (*mid >= target)
//			end = mid;
//		else
//			begin = mid + 1;
//	}
//	return begin;
//}
//
//int main()
//{
//	int m, n;
//	cin >> m >> n;
//	for (int i = 0; i < m; i++) cin >> score[i];
//	for (int i = 0; i < n; i++) cin >> stu[i];
//	ll ret = 0;
//	sort(score, score + m);
//	for (int i = 0; i < n; i++)
//	{
//		int *low = my_lower_bound(score, score + m, stu[i]);
//		if (low == score)
//			ret += abs(*low - stu[i]);
//		else
//			ret += min(abs(*low - stu[i]), abs(*(low - 1) - stu[i]));
//	}
//	cout << ret;
//	return 0;
//}